package com.ruoyi.cust.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.data.annotation.Transient;

import java.util.Date;

/**
 * 项目对象 city_project
 *
 * @author ruoyi
 * @date 2024-12-06
 */
public class CityProject extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 项目id
     */
    @TableId(type = IdType.AUTO)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long projectId;

    /**
     * 项目名称
     */
    @Excel(name = "项目名称")
    private String projectName;

    /**
     * 项目标题
     */
    @Excel(name = "项目标题")
    private String projectTitle;

    /**
     * 项目图片
     */
    @Excel(name = "项目图片", width = 35.0d, height = 180.0d, cellType = Excel.ColumnType.IMAGE)
    private String projectUrl;

    /**
     * 项目模式
     */
    private String projectMode;

    /**
     * 项目群链接
     */
    private String projectRoute;

    /**
     * 项目行业
     */
    @Excel(name = "项目行业")
    private String projectIndustry;

    /**
     * 项目标签集合
     */
    private String projectTag;

    /**
     * 项目内容
     */
    @Excel(name = "项目内容")
    private String projectContent;

    /**
     * 点击量（浏览量）
     */
    @Excel(name = "点击量", readConverterExp = "浏=览量")
    private Long projectHits;

    /**
     * 分享量
     */
    @Excel(name = "分享量")
    private Long projectShare;

    /**
     * 收藏量
     */
    @Excel(name = "收藏量")
    private Long projectCollect;

    /**
     * 仓库类别
     */
    @Excel(name = "仓库类别")
    private String storeType;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Transient
    private Date viewTime;


    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectTitle(String projectTitle) {
        this.projectTitle = projectTitle;
    }

    public String getProjectTitle() {
        return projectTitle;
    }

    public void setProjectUrl(String projectUrl) {
        this.projectUrl = projectUrl;
    }

    public String getProjectUrl() {
        return projectUrl;
    }

    public void setProjectMode(String projectMode) {
        this.projectMode = projectMode;
    }

    public String getProjectMode() {
        return projectMode;
    }

    public void setProjectRoute(String projectRoute) {
        this.projectRoute = projectRoute;
    }

    public String getProjectRoute() {
        return projectRoute;
    }

    public void setProjectIndustry(String projectIndustry) {
        this.projectIndustry = projectIndustry;
    }

    public String getProjectIndustry() {
        return projectIndustry;
    }

    public void setProjectTag(String projectTag) {
        this.projectTag = projectTag;
    }

    public String getProjectTag() {
        return projectTag;
    }

    public void setProjectContent(String projectContent) {
        this.projectContent = projectContent;
    }

    public String getProjectContent() {
        return projectContent;
    }

    public void setProjectHits(Long projectHits) {
        this.projectHits = projectHits;
    }

    public Long getProjectHits() {
        return projectHits;
    }

    public void setProjectShare(Long projectShare) {
        this.projectShare = projectShare;
    }

    public Long getProjectShare() {
        return projectShare;
    }

    public void setProjectCollect(Long projectCollect) {
        this.projectCollect = projectCollect;
    }

    public Long getProjectCollect() {
        return projectCollect;
    }

    public void setStoreType(String storeType) {
        this.storeType = storeType;
    }

    public String getStoreType() {
        return storeType;
    }

    public Date getViewTime() {
        return viewTime;
    }

    public void setViewTime(Date viewTime) {
        this.viewTime = viewTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("projectId", getProjectId()).append("projectName", getProjectName()).append("projectTitle", getProjectTitle()).append("projectUrl", getProjectUrl()).append("projectMode", getProjectMode()).append("projectRoute", getProjectRoute()).append("projectIndustry", getProjectIndustry()).append("projectTag", getProjectTag()).append("projectContent", getProjectContent()).append("projectHits", getProjectHits()).append("projectShare", getProjectShare()).append("projectCollect", getProjectCollect()).append("createTime", getCreateTime()).append("storeType", getStoreType()).toString();
    }
}
